#include<ros/ros.h>

#include <tf/transform_listener.h>

#include<geometry_msgs/PoseStamped.h>
#include<std_msgs/ColorRGBA.h>
#include<hri_msgs/Humen.h>

#include<visualization_msgs/MarkerArray.h>
using namespace std;
namespace Human_Visualizer
{
const std::string frame_str="frame";
const std::string topic_str="topic";

const std::string frame_default="ubg_laser";
const std::string topic_default="humen";
class HumanVisualizer
{
public:
    HumanVisualizer();
    bool init();
    int run();

private:
    visualization_msgs::Marker createMarker(hri_msgs::Human human_pose);


    void humenSubscriberCB(const hri_msgs::HumenConstPtr &humen);
    geometry_msgs::PoseStamped transform(geometry_msgs::Pose pose);
    void setColors();
    ros::NodeHandle nh;

    ros::Subscriber humenSubscriber;
    ros::Publisher humen_marker_publisher;
    tf::TransformListener *transform_listener;

    std::string frame;
    std::string topic;

    std_msgs::ColorRGBA colors[10];

};
}
